The present invention relates generally to interpreting input to a computer keyboard and more particularly to a method for switching among a plurality of key functions allocated to a special key.
Windows 95/98 (Trademark), which is an operating system (OS) for personal computers (PCs), supports a special key, such as an xe2x80x9cApplicationxe2x80x9d key and a xe2x80x9cWindowsxe2x80x9d key (both of which are hereinafter referred to as xe2x80x9cOS dependent special keysxe2x80x9d). When, for example, the xe2x80x9cWindowsxe2x80x9d key and the xe2x80x9cF1xe2x80x9d key are depressed at the same time, a function to display a pop-up menu for a selected object is carried out. However, the xe2x80x9cApplicationxe2x80x9d key and the xe2x80x9cWindowsxe2x80x9d key can be mounted only on a keyboard (hereinafter referred to as a xe2x80x9cPC 95/98 keyboardxe2x80x9d) that has been licensed by Microsoft Corporation. Therefore, even though Windows 95/98 can be installed on a personal computer (PC) that has a non-PC 95/98 keyboard, there are no OS dependent special keys on the keyboard, so that the services provided for these keys are not available when using a non-licensed keyboard. That is, even though the personal computer is a Windows 95/98 machine, not all the services that are provided by Windows 95/98 are available for use.
To resolve this problem, for a personal computer (PC) that has a non-PC 95/98 keyboard, a special countermeasure must be taken. An example PC that has a non-PC 95/98 keyboard is a ThinkPad (Trademark), a notebook personal computer produced by IBM Corporation and IBM Japan, Co., Ltd. A unique key called the xe2x80x9cFnxe2x80x9d key is included on the keyboard of the ThinkPad. When a specific key is depressed together with the xe2x80x9cFnxe2x80x9d key, a unique ThinkPad function is carried out. For example, the depression of the xe2x80x9cFnxe2x80x9d key+the xe2x80x9cF4xe2x80x9d key combination carries out a suspend function. Here, xe2x80x9c+xe2x80x9d is used to represent the state wherein two keys are depressed at the same time. Thus, the expression xe2x80x9cAxe2x80x9d key+xe2x80x9cBxe2x80x9d key, which can also be written simply as xe2x80x9cAxe2x80x9d+xe2x80x9cB,xe2x80x9d is used to indicate that the xe2x80x9cBxe2x80x9d key is depressed together with the xe2x80x9cAxe2x80x9d key. The suspend function itself is a process by which the computer is temporarily halted and is placed in the standby state. Another key pair, the xe2x80x9cFnxe2x80x9d key+xe2x80x9cF7xe2x80x9d key combination, is used to carry out switching of a display screen. When a display screen is changed, the current display screen is erased and another screen is displayed.
A key combination such as xe2x80x9cFnxe2x80x9d key+xe2x80x9cF4xe2x80x9d key or xe2x80x9cFnxe2x80x9d key+xe2x80x9cF7xe2x80x9d key is normally called a hotkey. But since no specific definition is available for a hotkey, herein it is defined as follows. First, let us assume that a key for carrying out a specific, individual function is called a xe2x80x9csomexe2x80x9d key when it and the xe2x80x9cFnxe2x80x9d key are depressed together, and that all the keys on a keyboard, other than the xe2x80x9cFnxe2x80x9d key, can be assigned and used as xe2x80x9csomexe2x80x9d keys. From this, we can deduce that a hotkey can be defined as an xe2x80x9cFnxe2x80x9d key+xe2x80x9csomexe2x80x9d key combination. While physically a hotkey comprising an xe2x80x9cFnxe2x80x9d key and a xe2x80x9csomexe2x80x9d key is not a single key, logically an xe2x80x9cFnxe2x80x9d key+xe2x80x9csomexe2x80x9d key combination can be regarded as a single key. Therefore, when the key constituting an xe2x80x9cFnxe2x80x9d key+xe2x80x9csomexe2x80x9d key combination is depressed, a function that has been determined in advance can be carried out. In other words, a xe2x80x9csomexe2x80x9d key can be considered a hotkey component when the xe2x80x9cFnxe2x80x9d key is depressed together with it.
Generally, when a key on a keyboard is depressed or released, one or more data sets are output. Collectively, these data are called scan code. These data, which are output upon the depression of a key, are changed in accordance with the states of special keys, such as the Shift key, the Ctrl key and the Alt key, and also in accordance with the state of the NumLock key. But not all the keys that are physically mounted on a keyboard have a uniquely set inherent scan code. For example, when the NumLock key is set OFF (at this time, an LED (Light Emitting Diode), located in the vicinity of the xe2x80x9cNumLockxe2x80x9d inscription on the keyboard, is turned off), numeric keys in the key pad portion do not act as numeric keys but as cursor moving keys.
The scan code is used by a system to identify a logical key. Since the xe2x80x9cFnxe2x80x9d key is different from the other keys, it does not output an inherent scan code.
In the following description, the term xe2x80x9cmake scan codexe2x80x9d is used for code that is output when a key is depressed, and xe2x80x9cbreak scan codexe2x80x9d is used for code that is output when a key is released. The make scan codes and the break scan codes are different terms from the scan codes conceptually, although these are complex. As it is, the make scan codes and the break scan codes represent physical movements, such as the depression and the release of a key, while the scan codes are used by a system to identify logical keys. Therefore, although the xe2x80x9cFnxe2x80x9d key does not output scan code, it does output make scan code and break scan code.
What is desirable is a system, for use when Windows 95/98 is installed on a ThinkPad or other personal computer which is a personal computer (PC) for which a non-PC 95/98 keyboard is provided, in which an OS dependent special key can be allocated to the xe2x80x9cFnxe2x80x9d key to enjoy service normally available from an OS dependent special key. Specifically, (1) When the xe2x80x9cFnxe2x80x9d key is depressed, the make scan code of the OS dependent special key is output; (2) when the xe2x80x9cFnxe2x80x9d key is released, the break scan code of the OS dependent special key is output; and (3) when a xe2x80x9csomexe2x80x9d key is depressed together with the xe2x80x9cFnxe2x80x9d key, the combination of these keys functions as a hotkey.
For example, the xe2x80x9cFnxe2x80x9d key is set so that upon the depression of this key the make scan code of the xe2x80x9cWindowsxe2x80x9d key is output. Then, when the xe2x80x9cF1xe2x80x9d key is depressed together with the xe2x80x9cFnxe2x80x9d key, the function for the display of a pop-up menu for a selected object is carried out, as it is when the xe2x80x9cWindowsxe2x80x9d+xe2x80x9cF1xe2x80x9d combination are entered at a PC 95/98 keyboard.
However, in the method by which the xe2x80x9cFnxe2x80x9d key is used to provide the OS dependent special key function, a phenomenon that is contrary to a user""s intent occurs. That is, when the xe2x80x9cFnxe2x80x9d key is used for a hotkey in (3), the break scan code of the OS dependent special key described in (2) is output when the xe2x80x9cFnxe2x80x9d key is released following the depression of a xe2x80x9csomexe2x80x9d key. As a result, a function carried out by a break signaled by the OS dependent special key is carried out, and a phenomenon that is contrary to the user""s intent occurs. For example, when the xe2x80x9cApplicationxe2x80x9d key is assigned to the xe2x80x9cFnxe2x80x9d key, it acts as a shortcut key of xe2x80x9cShiftxe2x80x9d+xe2x80x9cF10xe2x80x9d (this function is provided to display a shortcut key menu for a selected object). The shortcut key is a key on a keyboard to which a command selected from a menu displayed on a screen is allocated. And when the xe2x80x9cWindowsxe2x80x9d key is assigned to the xe2x80x9cFnxe2x80x9d key, this shortcut key is constituted by xe2x80x9cEscxe2x80x9d+xe2x80x9cCtrlxe2x80x9d (the function is provided to display a xe2x80x9cstart menuxe2x80x9d).
It is, therefore, one object of the present invention to provide a method for switching among a plurality of key functions allocated to a special key, whereby the occurrence of a phenomenon that is contrary to a user""s intent can be prevented.
Among the keys on a keyboard, there is a special key that provides a specific key function only when used together with another key. The present invention relates to a method for switching among a plurality of key functions allocated to this special key.
First, the depression of the special key is detected. Then, in accordance with the detection, a request is asserted to output a make scan code that is originally allocated to the special key. This make scan code is supposed to be output when the special key is independently depressed. When the request is still kept when the special key is released, the above described make scan code is output.
Therefore, according to the present invention, unlike the prior art the make scan code and the break scan code of a key, the function of which is replaced by the special key, are not output. As a result, it is possible to carry out a method, for switching among a plurality of key functions allocated to the special key, whereby the occurrence of a phenomenon that is contrary to the user""s intent can be prevented.